/*
 * Copyright (c) 2013 XDream
 * Copyright (c) 2013 bruceshu <shuhuan.bruce@gmail.com>
 * 2024-8-7
 */

#ifndef EXTRACTOR_FACTORY_H
#define EXTRACTOR_FACTORY_H

#include <unique>

#include "IExtractor.h"
#include "DemuxCommon.h"

class ExtractorFactory
{
private:
    
public:
    ExtractorFactory() {}
    ~ExtractorFactory() {}

    ExtractorFactory(ExtractorFactory &) = delete;
    ExtractorFactory(ExtractorFactory &&) = delete;
    ExtractorFactory & operator = (ExtractorFactory &) = delete;
    ExtractorFactory & operator = (ExtractorFactory &&) = delete;

    static std::unique_ptr<IExtractor> create(int id, ExtractorType type = ExtractorType::FFMPEG);
};




#endif